Feature/leg animations clean#164
Conversation
|
@copilot the neck_tilt in personality.py track_match() is overshooting since the changes have been made in this branch, can you identify why? |
Agent-Logs-Url: https://github.com/makerforgetech/modular-biped/sessions/26bc1434-489e-4911-9d24-d558a59a046b Co-authored-by: danic85 <6583012+danic85@users.noreply.github.com>
The overshoot was caused by For
Fixed in f239cf9 by making |
…erforgetech/modular-biped into feature/leg_animations_clean
|
@copilot can you fix the failing unit tests? Do not change the implementation, just adjust the tests to pass. |
The failing test ( |
There was a problem hiding this comment.
Pull request overview
This PR introduces a startup lifecycle hook (on_load) and expands the “Personality” module to support pose animations driven by knee-position pose estimation and basic “being carried” detection, alongside some servo/IMU utility additions and updated Cody environment configuration.
Changes:
- Add a module lifecycle hook (
on_load) invoked after dependency injection, and call it frommain.py. - Extend
Personalitywith pose animation queueing, knee-based pose estimation, and carried detection; adjust default behavior flags and tests. - Improve actuator/IMU utilities (servo
move_degreesspeed override + computedrange_degrees; BNO055 acceleration accessors) and update Cody config + CI workflow.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| src/modules/sensor/imu/bno055/bno055.py | Adds acceleration and linear-acceleration getters used by carried detection. |
| src/modules/personality/tests/test_personality.py | Updates default expectation for balance_enabled. |
| src/modules/personality/personality.py | Adds pose animation logic, knee pose estimation, carried detection, and default flag changes. |
| src/modules/base_module.py | Adds on_load() lifecycle hook to the base module API. |
| src/modules/actuators/bus_servo/bus_servo.py | Computes range_degrees by default; adds speed override to move_degrees; improves pose missing handling and logging. |
| src/module_loader.py | Adds modules_loaded() to invoke on_load() on all modules post-injection. |
| src/main.py | Calls loader.modules_loaded() after dependency injection. |
| environments/cody.yml | Updates servo ranges/speeds and adds personality pose/threshold configuration. |
| .github/workflows/test.yml | Runs install.sh and switches unit test execution to the created venv interpreter. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
What type of change is this?
📝 What does this change do?
This PR introduces a startup lifecycle hook (on_load) and expands the “Personality” module to support pose animations driven by knee-position pose estimation and basic “being carried” detection, alongside some servo/IMU utility additions and updated Cody environment configuration.
Changes:
Add a module lifecycle hook (on_load) invoked after dependency injection, and call it from main.py.
Extend Personality with pose animation queueing, knee-based pose estimation, and carried detection; adjust default behavior flags and tests.
Improve actuator/IMU utilities (servo move_degrees speed override + computed range_degrees; BNO055 acceleration accessors) and update Cody config + CI workflow.
❓ Why is this change needed?
🛠️ How was this implemented?
🧪 How was this tested?
💥 Breaking changes
🗂 Related issues
✅ PR Checklist
🚀 Thank you for your contribution to the project!